/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package g7.dao.impl;

import g7.dao.ProdutoDAO;
import g7.modelo.Produto;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author julianna
 */
@Stateless
public class ProdutoDAOImpl implements ProdutoDAO {

    @PersistenceContext(name = "g7Scrum")
    private EntityManager manager;

    @Override
    public void salvar(Produto produto) {
        manager.merge(produto);
    }

    @Override
    public void excluir(Produto produto) {
        manager.remove(manager.getReference(Produto.class, produto.getId()));
    }

    @Override
    public List<Produto> listaProdutos() {
        Query query = manager.createQuery("Select p from Produto p");
        List<Produto> produtos = query.getResultList();
        return produtos;
    }

    @Override
    public Produto findById(Long id) {
        Produto produto = manager.find(Produto.class, id);
        return produto;
    }

    @Override
    public Produto procurarPorNome(String nome) {
        Query query = manager.createQuery("Select p from Produto p where p.nome like '" + nome + "'");
        Produto sprint = (Produto) query.getSingleResult();
        return sprint;
    }
}
